- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个脚本来读取和绘制 .txt 文件及其内容(数字/值)。每个 .txt 文件位于不同的文件夹中。每个文件夹依次代表数据的一个主题。
这段代码工作正常。 Python 读取每个单独的 .txt。文件并将 23 个单独的图形/线绘制到一个图中。 Python 在这里使用了一些标准的颜色,即每个图形自动以不同的颜色呈现。
我想做的是:我不想使用 python 自动分配的标准颜色而不添加任何与颜色相关的代码,而是想使用 matplotlib 中的特定颜色图(例如“plasma”)。
问题:无论我使用来自互联网的什么代码,所有图形/线条/主题总是收到相同的颜色(例如等 ionic 颜色图中的第一种颜色或最后一种颜色)。
如何指定代码以便每一行都从所选颜色图中获得一种不同的颜色?
这是我的代码:
# Initialize
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
from matplotlib.pyplot import cm
# Numpy.loadtxt – Loads data from a textfile. Scipy.signal.welch – Creation of the FFT/power-spectrum. f, Pxx_den creates the ideal frequencies/FFT (f, Welch = Power Spectrum or Power Spectral Density)
Subjects = ["Subject1", "Subject2", "Subject3", "Subject4", "Subject5", "Subject7", "Subject8", "Subject9", "Subject10", "Subject11", "Subject12", "Subject13",
"Subject14", "Subject15", "Subject16", "Subject17", "Subject18", "Subject19", "Subject20", "Subject22", "Subject23", "Subject24", "Subject25"]
for Subject in Subjects:
Subject = np.loadtxt("/volumes/SanDisk2/fmri/dataset/processed/extracted_timeseriespython/restingstate/{0}/TimeSeries.SPC.Core_ROI.{0}.txt".format(Subject), comments="#", delimiter=None,
converters=None, skiprows=0, usecols=0, unpack=False, ndmin=0, encoding=None, max_rows=None, like=None)
f, Welch = signal.welch(Subject, fs=1.0, window="hann", nperseg=None, noverlap=None, nfft=1024, detrend="constant", return_onesided=True, scaling="density", axis=-1, average="mean")
cmap = plt.get_cmap("inferno")
slicedCM = cmap(np.linspace(0, 1, len(Subjects)))
plt.plot(f, Welch, c=slicedCM[Subjects.index(Subject)])
# Grid labels
plt.title("Power Spectrum for all subjects", fontsize=12, fontweight="bold")
plt.xlabel("Log Frequency [Hz]", fontsize=11, fontweight="bold")
plt.ylabel("Log Power [Hz]", fontsize=11, fontweight="bold")
# Grid dimenions and style
plt.xlim([0.005, 0.2]) # x-axis range
plt.ylim([0, 100]) # y-axis range
plt.xticks(np.arange(0, 0.21, 0.025)) # x ticks range (start, end, step)
plt.yticks(np.arange(0, 101, 10)) # y ticks range (start, end, step)
plt.grid(True) # Show grid
plt.rc("axes", axisbelow=True) # Grid behind figures
plt.rc("grid", linestyle="-", color="black") # Grid look
# Show result
plt.show()
这是生成的屏幕截图,显示使用了标准颜色而不是所需的等 ionic 颜色图:
我正在使用 MacOSX
作为后端运行 matplotlib 3.5.0
。
最佳答案
您想为颜色图实例提供一个介于 0 和 1 之间的参数,这需要最少的计划,例如,
x = np.linspace(0,355/113, 101)
p = plt.get_cmap('plasma')
n = 23
for i in range(n):
plt.plot(x, np.sin(x-i/2/n), color=p(i/(n-1)))
关于python - Matplotlib Colormaps——为每个图形/线条/主题选择不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70142953/
是否有任何颜色图可以很好地显示图像高值范围的差异,如果没有(因为我没有找到cm),有没有办法由msyself定义它并将其作为参数cmap提供给seaborn/matplotlib图?我已经尝试过对数色
我想使用深度优先搜索算法。既然我需要指定起始顶点的 DFS 版本,我也必须定义一个 ColorMap。这就是我想要的功能使用: template void depth_first_search(co
这是一个非常小的问题,但我仍然无法弄清楚。我正在使用 imshow 和 matplotlib 来绘制颜色图 - 但结果是图形和标题没有对齐: 我用于绘图的代码是: fig, ax = plt.subp
我四处搜索并找到了接近工作但没有完全适合我需要的东西。 基本上,我非常喜欢将 viridis 颜色图作为起点。但是,我想用白色替换 map 最低端的紫色。 我尝试使用 set_under() 但这不符
我正在尝试为散点图中的簇着色,并使用两种不同的方法进行管理。 在第一个中,我迭代地绘制每个集群,在第二个中,我一次绘制所有数据,并根据集群的标签 [0, 1, 2, 3 ,4] 对集群进行着色。 我对
我是 matplotlib 的新手,我正在尝试重新创建一个如下图所示的对数对数图: 我知道我必须使用颜色图根据我的 x 和 y 值创建这样的输出。我想不通的是如何添加图例,以便它可以动态计算颜色图变量
我做了一个 animation of a wave ,但颜色条一直在移动,我不知道为什么。我认为这是因为它在每一帧后都正常化。如何设置颜色图设置以使颜色栏保持不变? 代码:警告:此程序删除其调用目录中
一些标准的 matplotlib cmap,例如 viridis 或 jet 在 小值。虽然这是我需要的,但我希望它们不显示任何内容,即如果值正好为零,则为白色背景。对于非零值,该颜色图的常用颜色就可
这是我在 StackOverflow 上的第一个问题,如果我犯了一些错误,请原谅我。 我必须使用 MATLAB 可视化多个单 channel 图像(二维矩阵)。每个像素的值通常介于 ~10^-10 和
我想可视化我拥有的二维数据。例如以下是具有四个属性的数据: att1 att2 att3 fun1 10 0 2 fun2 0 1
我正在尝试绘制一个包含正数和负数的矩阵。数字将在 -1 到 1 的区间内,但不在完整范围内。例如,数字有时可能在 -0.2 到 +0.8 的范围内(参见下面的代码)。我想使用 bwr-colormap
我创建了一个脚本来读取和绘制 .txt 文件及其内容(数字/值)。每个 .txt 文件位于不同的文件夹中。每个文件夹依次代表数据的一个主题。 这段代码工作正常。 Python 读取每个单独的 .txt
我想在 R 中制作下面这种类型的图形,它是边缘直方图和我认为的 geom_hex 对象的组合。这最初是一个 matplotlib seaborn 图。 我无法让它与 RColorbrewer 对话。有
我正在制作 2D numpy 网格的颜色图: X, Y = np.meshgrid(fields, frequencies) cs = ax.contourf(X, Y, fields_freqs_a
我从这篇文章中知道如何将数字映射到颜色:Map values to colors in matplotlib 但我不知道如何解码映射以获得我的原始颜色,假设这是一个一对一的映射,它一定是我想的。 我正
如何使用颜色图(比如 jet)使用运行时提供的标量值设置 matplotlib 中线条的颜色?我在这里尝试了几种不同的方法,我想我很难过。 values[] 是一个存储的标量数组。曲线是一组一维数组,
我从这篇文章中知道了如何将数字映射到颜色:在matplotlib中将值映射到颜色。但我不知道如何解码贴图以获得我的原始颜色,假设这是一对一的贴图,我想这一定是一对一的贴图。。出于可视化目的,我正在对图
大家好:) 我希望下面的问题很容易回答。我目前正在玩弄 Directx 11 并构建游戏。目前所有 2D 文件都存储在与我的源代码相同的 visual studio 文件夹中,但我想将它分成几个子文件
尝试根据二维值矩阵修复颜色图时,这是一项简单但常见的任务。为了演示考虑 Matlab 中的问题,解决方案不需要在 Matlab 中(即,此处提供的代码仅用于演示目的)。 x = [0,1,2; 3,4
我有一组点,用于使用 contourf 绘制 map 。 我需要为这张 map 提供一个特定的调色板,涉及特定的数据点,以及为超出限制的数据设置的颜色。 所以,我有 levels=[0, 2, 20,
我是一名优秀的程序员,十分优秀!