python - Matplotlib:绘制折线图设置线型、比例和自定义颜色
问题描述
我是 Python 和 Matplotlib 的新手,我正在尝试使用以下代码绘制线图:
cov = np.array([164430.5, 84322.6, 83595.6])
p2 = np.array([92118.2, 30813.8, 36428.7])
p5 = np.array([16033.3, 15940.9, 16555.1])
s = np.array([315262.9, 176823.4, 182933.4])
ax = np.array([1, 8, 32])
plt.plot(ax, cov, 'r--', ax, p2, 'bs', ax, p5,'g^', ax, s, 'y*')
plt.show()
到目前为止,我看到情节运行良好,但我不知道如何执行以下操作:
- 用平滑线连接符号
- 更改 X 轴以仅查看 1、8 和 32,但它们之间的距离也相同。
- 将比例更改为对数。
- 应用于每一行,一些十六进制的自定义颜色。
你能指导我吗?非常感谢!
解决方案
如果他们需要,我正在回答我自己的问题以帮助其他人!:
用平滑线连接符号
更改'r--'
为'r-'
.
更改 X 轴以仅查看 1、8 和 32,但它们之间的距离也相同。
最后,我没有这样做,但大约是在使用这个:plt.xticks(ax, (1, 8, 32))
。我唯一不能做的就是让它们保持等距。
将比例更改为对数。
plt.yscale('log')
应用于每一行,一些十六进制的自定义颜色。
color = '#FF7373'
我也改变了写一切的方式,因为它对我来说更清晰。所以这里是所有的:
import numpy as np
import matplotlib.pyplot as plt
cov = np.array([164430.5, 84322.6, 83595.6])
p2 = np.array([92118.2, 30813.8, 36428.7])
p5 = np.array([16033.3, 15940.9, 16555.1])
s = np.array([315262.9, 176823.4, 182933.4])
ax = np.array([1, 8, 32])
plt.xticks(ax, (1, 8, 32))
line1, = plt.plot(ax, cov, '*-', label='cov', color = '#4F81BD') # blue
line2, = plt.plot(ax, p2, 'o-', label='p2',color = '#C0504D') # red
line3, = plt.plot(ax, p5, '^-', label='p5', color = '#9BBB59') # green
line4, = plt.plot(ax, s, 's-', label='s', color = '#FF7373') # pink
plt.legend()
plt.grid(True)
plt.show()
推荐阅读
- c# - 为什么我的线性搜索方法不返回平均值的索引号
- sql - T-SQL:选择两个时间段趋势下降的帖子
- aws-lambda - 无服务器框架将 Lambda 添加到现有 VPC 和子网
- c# - SELECT ip,estado FROM @table 上的 C# MySQL 参数 addwithvalue 不起作用
- php - 仅为提交的表单编辑的值更新数据库值
- c# - 天蓝色函数中的多凭据机器人
- scala - Spark 和 Azure-Cosmosdb 的跨版本冲突
- javascript - MongoDB 需要几秒钟来保存对象
- kubernetes - 在 Kubernetes 集群中添加第二个主节点的最佳方法是什么?
- python - 如何找到与一个变量中的最大值相对应的所有变量的最大值?