python - 如何在 matplotlib 中绘制我的熊猫数据框
问题描述
我有以下代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = pd.read_csv("Ari_atlag.txt", sep = '\t', header = 0)
#Num_array = pd.DataFrame(data).to_numpy()
print(data.head())
data.plot()
#data.columns = ['Date', 'Number_of_test', 'Avarage_of_ARI']
#print(Num_array)
plt.show()
输出:
Date Number_of_test Avarage_of_ARI
0 2011-01 22 0.568734
1 2011-02 5 0.662637
2 2011-03 0 0.000000
3 2011-04 3 0.307692
4 2011-05 6 0.773611
Process finished with exit code 0
和情节。
但是在图中使用此代码时,x 轴是索引。但我想在 x 轴上获取日期。
如何使用 Number_of_test 绘制日期和使用 Avarage_of_ARI 绘制日期
我想,我应该以某种方式将字符串(日期)更改为日期,但不知道该怎么做。
最好的
解决方案
试试这个 :
#Excutable example
df = pd.DataFrame({"Date" : ["2011-01", "2011-02", "2011-03", "2011-04", "2011-05"],
"Number_of_test" : [22, 5, 0, 3, 6],
"Avarage_of_ARI" : [0.568734, 0.662637, 0.000000, 0.307692,
0.773611]})
df.Date = pd.to_datetime(df.Date)
df = df.set_index("Date")
阴谋
plt.style.use('ggplot')
plt.rcParams['figure.figsize'] = [13,5]
data_ax1 = df.Number_of_test
data_ax2 = df.Avarage_of_ARI
fig, ax1 = plt.subplots()
ax1.set_ylabel('Number_of_test', color = 'tab:red')
ax1.plot(data_ax1, color = 'tab:red', linewidth= 1)
ax1.tick_params(axis = 'y',
labelcolor= 'tab:red',
length = 6,
width = 1,
grid_alpha=0.5)
ax2 = ax1.twinx()
ax2.set_ylabel('Avarage_of_ARI', color = 'tab:blue')
ax2.plot(data_ax2, color = 'tab:blue', linewidth = 1)
ax2.tick_params(axis='y', labelcolor = 'tab:blue')
fig.tight_layout()
plt.title("Plot", fontsize = 15)
推荐阅读
- php - PHP:“无法获取 DOMElement。节点不再存在于”使用 DOMXpath
- tensorflow-data-validation - 如何以正确的格式保存 TFDV 统计信息以便重新加载?
- java - 动画 Drawable - 空对象引用
- bash - 在文件开头添加 0 以获得 5 位组
- docker - 为什么 cap_net_bind_service 在这个 nginx 嵌套 Docker 容器中不起作用?
- javascript - 如何从 API 加载数据?
- javascript - 如何使用 WKScriptMessageHandler 读取发送到父元素的 postmessage?
- c# - 从 C# 终结器调用静态方法
- go - Gorm 正在添加我不需要的不需要的 where 子句
- csv - 在图库 PIMCORE 中导入图片