python-3.x - Python matplotlib 自定义颜色条,用于手动分配颜色的绘制线
问题描述
我正在尝试为以下类型的绘图定义一个颜色条。
import matplotlib.pyplot as plt
import numpy as np
for i in np.arange(0,10,0.1):
plt.plot(range(10),np.ones(10)*i,c=[i/10.,0.5,0.25])
plt.show()
这只是我的实际数据的简化版本,但基本上,我想要由另一个带有颜色条键的变量绘制和着色的一系列线条。这在分散中很容易做到,但我无法分散来绘制连接线。积分太笨重了。我知道这听起来像是基本的东西,但我很难找到一个简单的解决方案......我错过了什么明显的解决方案?
解决方案
您可以从中构建自定义颜色图和可映射的,然后传递给colorbar
:
from matplotlib.cm import ScalarMappable
from matplotlib.colors import Normalize
import matplotlib.colors as mcolors
color_list = [(i/10, 0.5,0.25) for i in np.arange(0,10,0.1)]
cmap = mcolors.LinearSegmentedColormap.from_list("my_colormap", color_list)
cmappable = ScalarMappable(norm=Normalize(0,10), cmap=cmap)
plt.figure(figsize=(10,10))
for j,i in enumerate(np.arange(0,10,0.1)):
plt.plot(range(10),np.ones(10)*i,c=color_list[j])
plt.colorbar(cmappable)
plt.show()
输出:
推荐阅读
- pagespeed - 为什么 Google PageSpeed Insights 不一致
- c# - 如何复制和替换具有管理员权限的所有用户配置文件的文件
- html - 使用 base64 字符串的剃刀显示图像
- c# - 重置 OnMessageReceived 后 RabbitMQ 不检索消息
- macos - 在 NSTableView 中显示数组的元素
- reactjs - 三元条件 - 尝试添加类错误
- angular - AGM Angular Google Maps 图像未加载
- sql-server - 从 SS2019 CTP2.2 创建外部数据源不起作用
- javascript - 如何给dailymotion播放器的“观看百分比”?
- java - 代码不运行,不给出错误消息(java,编程新手)