python-3.x - 如何以更准确的方式绘制图形?
问题描述
我有一个数据集,其中包含1440 rows × 297 columns
. 我试图03_jan_2018
根据时间(X 轴)和密度(Y 轴)进行绘图,但我遇到了一个问题。结果图不够清晰,X轴也没有出现!!
我想做 这样的事情:
但我结束了这个:
谁能帮我?
提前致谢!
解决方案
x 轴已出现,但您似乎面临与此处所述相同的问题。无论如何,我将向您展示如何获得您想要的东西,同时避免 x 轴符号可能出现的问题。
情节1:
代码 1:
# imports
import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# random data or other data sources
np.random.seed(123)
rows = 1440
df = pd.DataFrame(np.random.uniform(-1,1,size=(rows, 2)),
index=pd.date_range('1/1/2000', periods=1440),
columns=list('AB'))
df['A'] = df['A'].cumsum()
df['B'] = df['B'].cumsum()
# Plot
fig, ax = plt.subplots()
t = df.index
ax.plot(t, df['A'])
ax.plot(t, df['B'], color='red')
您还可以像这样编辑和调整轴符号:
情节2:
代码 2:
# imports
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# random data or other data sources
np.random.seed(123)
rows = 1440
df = pd.DataFrame(np.random.uniform(-1,1,size=(rows, 2)),
index=pd.date_range('1/1/2020', periods=1440),
columns=list('AB'))
df['A'] = df['A'].cumsum()
df['B'] = df['B'].cumsum()
# Make a list of empty myLabels
myLabels = ['']*len(df.index)
# Plot
fig, ax = plt.subplots()
t = df.index
ax.plot(t, df['A'])
ax.plot(t, df['B'], color='red')
# Set labels on every Nth element in myLabels specified by the interval variable
myLabels = ['']*len(df.index)
interval = 2
myLabels[::interval] = [item.strftime('%Y - %m - %d') for item in df.index[::interval]]
ax.xaxis.set_major_formatter(ticker.FixedFormatter(myLabels))
plt.gcf().autofmt_xdate()
# Tilt the labels
plt.setp(ax.get_xticklabels(), rotation=30, fontsize=10)
plt.show()
推荐阅读
- awk - 将两列合并为新列并打印所有列
- php - 如何在functions.php中获取数据
- python - pygame - while循环使pygame窗口冻结/我如何将子弹射出玩家?
- javascript - 使用 JavaScript 我想要以下输出
- ios - SwiftUI 将 Label 的垂直对齐方式更改为居中图像和文本
- javascript - 猫头鹰轮播导航效果
- python - Blender Python 语句控制台日志记录
- webstorm - 如何让 JetBrains Rider 显示左括号线?
- c# - 转换 IEnumerable
加倍 - tkinter - 多帧中的 Tkinter 网格和 ttk 小部件的潜在影响