Python 如何在matplotlib和偏移数据中定义颜色栏的颜色及其范围?
到目前为止,我使用gnuplot来可视化数据,在matplotlib和python方面的经验非常少。我有一个包含值(x,y,f1(x,y),f2(x,y),…)的文件。我想做一个二维散点图,点(x,y)用f(x,y)着色。 如何使用特定偏移量进行打印,例如Python 如何在matplotlib和偏移数据中定义颜色栏的颜色及其范围?,python,matplotlib,gnuplot,offset,colorbar,Python,Matplotlib,Gnuplot,Offset,Colorbar,到目前为止,我使用gnuplot来可视化数据,在matplotlib和python方面的经验非常少。我有一个包含值(x,y,f1(x,y),f2(x,y),…)的文件。我想做一个二维散点图,点(x,y)用f(x,y)着色。 如何使用特定偏移量进行打印,例如f(x,y)-1,以及如何定义颜色栏的调色板 目前,我的python脚本如下所示(以下脚本使用预定义的颜色映射coolwarm,但我需要为数据的不同行自定义颜色映射): 我在gnuplot中使用的脚本如下所示,它显示了我所指的偏移量,例如($4
f(x,y)-1
,以及如何定义颜色栏的调色板
目前,我的python脚本如下所示(以下脚本使用预定义的颜色映射coolwarm
,但我需要为数据的不同行自定义颜色映射):
我在gnuplot中使用的脚本如下所示,它显示了我所指的偏移量,例如($4-1.0)
,以及我所指的定义颜色条集调色板(z_min“蓝色”、z_max/10“绿色”、z_max/3“橙色”、z_max“红色”)
:
我不确定你要求的是什么,因为看起来你已经在做你要求的(“制作一个漂亮的色条”)。你已经拥有的剧本的结果有什么问题?@Ajean你是对的,这个问题很不清楚。我编辑了它。基本问题是如何用特定偏移量绘制数据,以及如何定义f(x,y)范围的颜色。偏移量在Python中是“列表切片”——您将执行类似于
plot(x[1:],y[1:],c=f[0:-1])
,其中x,f,c是整个表的列。
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pylab as pl
import math
from matplotlib.ticker import MultipleLocator
x = np.loadtxt('disk_int_500p_a0000_theta45_r1D03.dat',
unpack=True)
plt.scatter(x[0], x[1], marker='+', s=150, linewidths=4, c=x[2], cmap=plt.cm.coolwarm)
plt.colorbar()
plt.show()
DATA = 'disk_int_500p_a0000_theta45_r1D03'
set size square
set xrange[-22:22]
set yrange[-22:22]
set view map
set xlabel '$\alpha$ [M]'
set ylabel '$\beta$ [M]'
set object 1 rectangle from graph 0,0 to graph 1,1 fillcolor rgb "black" behind
stats DATA.'.dat' using ($4 - 1.0) name "z"
set palette defined (z_min "blue", z_max/10 "green", z_max/3 "orange", z_max "red")
splot DATA.'.dat' using ($1):($2):($4 - 1.0) with points pointtype 0 palette