我需要創建一個遵循從黑色到紅色的配色方案的表格,如此處所示(紅色和黑色資料)我已經設法讓我的表格使用顏色圖(我的圖表)從黑色變為白色,中間為紅色,但是一直在努力確定如何使用陣列來獲得這種確切的配色方案。任何幫助都會很棒
當前代碼:
colors = np.linspace(0,1,25, endpoint = True)
size = np.linspace(10,100,25, endpoint = True)
limits = [-2.25, 2.25, -2.25, 2.25]
plt.figure(figsize=(20, 5))
x_orig = list(data['x'])
y_orig = list(data['y'])
plt.subplot(1, 2, 1)
plt.scatter(x_orig, y_orig, s=size, c=colors, cmap='gist_heat')
plt.title('Original Data')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim([limits[0], limits[1]])
plt.ylim([limits[2], limits[3]])
資料片段
uj5u.com熱心網友回復:
從'gist_heat'. 以下代碼可能會有所幫助
from matplotlib import pyplot as plt
import pandas as pd
import numpy as np
from matplotlib import cm
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
x = [0, 0, 0, 0, 0, .24, .24, .24, .24, .24, .49, .49, .49, .49, .49]
y = [0, .24, .49, .74, .99, 0, .24, .49, .74, .99, 0, .24, .49, .74]
data = pd.DataFrame(list(zip(x,y)), columns = ['x', 'y'])
gist_heat = cm.get_cmap('gist_heat', len(data))
newColors= gist_heat(range(28))[:round(len(data)/2)]
newCmap = ListedColormap(newColors)
colors = np.linspace(0,1,len(data), endpoint = True)
size = np.linspace(10,100,len(data), endpoint = True)
limits = [-2.25, 2.25, -2.25, 2.25]
plt.figure(figsize=(20, 5))
x_orig = list(data['x'])
y_orig = list(data['y'])
plt.subplot(1, 2, 1)
plt.scatter(x_orig, y_orig, s=size, c=colors, cmap=newCmap)
plt.title('Original Data')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim([limits[0], limits[1]])
plt.ylim([limits[2], limits[3]])
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/461106.html
標籤:Python matplotlib
下一篇:在python中繪制大資料集集群
