gpt4 book ai didi

python - 使用 matplotlib 在 Python 中绘制颜色不匹配的相关图

转载 作者:行者123 更新时间:2023-11-30 09:44:51 26 4
gpt4 key购买 nike

我正在使用 matplotlib 在 python 中绘制数据的相关性。高度相关的数据应该是深红色,但在我的例子中它是黄色的。怎么解决?

我的相关数据是这样的:

Screen shot

我的代码是这样的:

def plot_corr(df, size=11):

"""\
Function plots a graphical correlation matrix for each pair of columns in the dataframe.

Input:
df: pandas Dataframe
size: vertical and horizontal size of the plot

Displays:
matrix of correlation between columns. Blue-cyan-yellow-red-darkred => less to more correlated
0 ------------------------> 1
Expect a darkred line running from top left to bottom right
"""
corr = df.corr() #data frame correlation function
fig, ax = plt.subplots(figsize=(size,size))
ax.matshow(corr) # color code the rectangles by correlation value
plt.xticks(range(len(corr.columns)), corr.columns) # draw x tick marks
plt.yticks(range(len(corr.columns)), corr.columns) # draw y tick marks

我的输出是这样的:

Screen Shot

最佳答案

Matplotlib 将默认颜色图从“jet”更改为“viridis”,第一个将最高值映射为深红色,第二个映射为亮黄色。

这一变化并不是无缘无故的,新的颜色图比旧的颜色图有许多优点(如果您对其原因感兴趣,请参阅此 github issue

一种可能性是保持默认值不受干扰,并可能更改描述颜色范围的部分中的文档字符串...

    """\
...
Displays:
matrix of correlation between columns. Blue-teal-green-yellow => less to more correlated
0 ------------------------> 1
Expect a bright yellow line running from top left to bottom right.
"""

另一种方法是明确提及您要使用的颜色图

def plot_corr(df, size=11):
...
import matplotlib.cm as cm
...
plt.matshow(corr, cmap=cm.jet)
...

最后一种可能性是恢复全部 Matplotlib 之前的默认值,无论是在调用程序的级别

plt.style.use('classic')

或在函数级别

    ...
with plt.style.context('default'):
plt.matshow(corr)
...

关于python - 使用 matplotlib 在 Python 中绘制颜色不匹配的相关图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53844890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com