python - 一次绘制整个数据框时,如何在 Jupyter Notebook 上的线图中更改单条线的颜色和线型?
问题描述
我试图弄清楚如何在一次绘制整个数据框后更改单条线的线条颜色和线条类型。
然后我用它来绘制它:
df_month.plot(figsize=(15,10), linewidth = 3.5)
plt.xlabel('Months', fontsize=18)
plt.ylabel('Average Precipitation (mm/d)', fontsize =19)
plt.title('Precipitation near Cape Scott Wind Farm', fontsize=22)
plt.savefig('CapeScott_precip.png')
结果是这样的:
所以我想知道如何将“WRF-GFS”线更改为黑色虚线?任何指导都会有所帮助,谢谢!
解决方案
首先重置索引:
df_plot = df_month.reset_index()
循环遍历列以绘制它们,“WRF-GFS”列具有不同的参数:
for col_name in df_plot.drop(columns='Datetime', axis=1).columns:
if col_name == 'WRF-GFS':
plt.plot(df_plot['Datetime'], df_plot[col_name], color='black', linestyle='dashed', linewidth=3.5, label=col_name)
else:
plt.plot(df_plot['Datetime'], df_plot[col_name], linewidth=3.5, label=col_name)
plt.legend(loc='best')
用一些随机数据运行它:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
np.random.seed(42)
df_plot = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))
df_plot['Datetime'] = list(range(10))
for col_name in df_plot.drop(columns='Datetime', axis=1).columns.tolist():
if col_name == 'B':
plt.plot(df_plot['Datetime'], df_plot[col_name], color='black', linestyle='dashed', linewidth=3.5, label=col_name)
else:
plt.plot(df_plot['Datetime'], df_plot[col_name], linewidth=3.5, label=col_name)
plt.legend(loc='best')
plt.show()
推荐阅读
- android - 在 Xamarin Android 中为一组按钮设置动画
- java - whereGreaterThanOrEqualTo 和 whereArrayContains firestore 中的读取次数
- java - 如何使用spring boot在jira任务上上传名称中带有utf-8符号的文件作为附件
- shell - 我可以知道expect shell脚本中“cat”的等效命令是什么
- vue.js - visual-studio-code 中的自动右括号不适用于 Vue 文件
- html - 尝试使用 Webkit Animation CSS 重新创建 Tom Riddle 的文本效果
- .net-core - .netcore我想一次拉500条kafka消息,怎么配置
- python - 如何在 python 中对用户输入的数字求和?(仅当它们是偶数时)
- elasticsearch - 为什么在分析 Elasticsearch 慢速请求时数字不匹配
- python - 在 python 中寻找一些关于组合学的指导