Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在matplotlib和偏移数据中定义颜色栏的颜色及其范围?_Python_Matplotlib_Gnuplot_Offset_Colorbar - Fatal编程技术网

Python 如何在matplotlib和偏移数据中定义颜色栏的颜色及其范围?

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

到目前为止,我使用gnuplot来可视化数据,在matplotlib和python方面的经验非常少。我有一个包含值(x,y,f1(x,y),f2(x,y),…)的文件。我想做一个二维散点图,点(x,y)用f(x,y)着色。 如何使用特定偏移量进行打印,例如
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