我用地形图做了一张地图。然而,我正在使用geopandas、常规的pandas、matplotlib和shapely.geometry来做不同的事情。我需要我的地图上的颜色是自定义的,分配到列中的特定值。更具体地说,我有一列鸟的名字,并希望每只鸟都有自己的自定义颜色。下面的地图显示了鸟类的目击情况。如何为观鸟添加自定义颜色?我会使用地理熊猫,熊猫或其他什么吗?
import pandas as pd
import geopandas as gpd
import contextily as ctx
import matplotlib.pyplot as plt
from shapely.geom
使用,我想把曼哈顿变成明亮的蓝色。但是,当我改变曼哈顿的个别补丁颜色时,其他所有的补丁颜色也会发生变化。这对我来说是意外的。
如何更改单个修补程序的颜色?
from matplotlib import pyplot as plt
import geopandas as gpd
nybb = gpd.GeoDataFrame.from_file('nybb.shp')
nybb_plot = nybb.plot()
for p_ny in nybb_plot.patches:
p_ny.set_color("#111111")
p_ny.set
我已经设法获得matplotlib来使用FuncAnimation更新等高线图,但是我无法获得颜色条来更新等高线级别。当我替换等高线时,颜色条没有变化。如果我用动画的每一帧创建彩色条,那么我会得到一整串的彩色条形图。
如何更新现有的色条?
下面是一个绘制椭圆函数随时间变化的例子。值的范围正在稳步缩小,所以我需要更新颜色条。
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
class ContourAnimation(object):
def __i
我想做一个标准的matplotlib动画,我想让不同的组作为一条“单”线,而不是绘制10个共享同一x轴的组。对于上下文,我试图在一个系列中绘制10本书的情绪图,并希望对每本书的线条进行颜色编码。我找到的所有线动画的搜索似乎都是从x=0开始到当前的x,这使得分配正确的颜色标签变得困难。 例如,以Animating "growing" line plot in Python/Matplotlib为例。假设我想要将x in [0,10)作为一个组,将x in [10,20)作为组2,等等。我该如何以动画的方式完成这件事? 我正在尝试获取动画版本: import numpy as n
我有五个国家1991-2020年的数据。
Tempcountries
Date Temperature Units Year Month Statistics Country CODE
Jan 1991 -26.2 Celsius 1991 Jan Average Canada CAN
Feb 1991 -21.0 Celsius 1991 Feb Average Canada CAN
Ma
假设我出于某些原因需要自己控制线条颜色,例如:
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
for i in np.linspace(0, 1, 100):
plt.plot([i,i+1,i+2], color=mpl.cm.viridis(i))
如何为这样的图生成一个颜色条?
我试了又试地寻找解决方案,但我似乎不能让它工作,所以我的问题是:
我正在尝试制作一个脚本,在那里我可以设置图形的大小(即图形中的子图数量)。对于图中的子图,它应该始终是N*2网格结构(具有相同的尺寸)。在网格中,我想绘制一些线条(用特定的颜色),并在图的底部添加一个水平颜色条。我试着遵循中提到的问题的解决方案。以下是我的解决方案:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import matplotlib.colors as colors
import matplotlib.cm as cmx
i
问题
在绘制GeoDataFrame时,如何访问创建的彩色条实例?在这个例子中,我画出了法国入侵俄罗斯期间的军队调动和规模,军队规模小于10000,用红色绘制。我怎样才能让彩色条显示红色的意思是低于10000?
MCVE:
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from shapely.geometry import Point, LineString
import geopandas as gpd
# ingest troop movement data
PATH = (
我有一个分组条形图,其中我根据数据值用不同的面颜色标记了该图的一个条形图(为简单起见,示例中没有组)。当我添加一个图例时,它总是采用第一个条的颜色。如果第一个条是“标记条”,这会导致错误的颜色。我总是希望它是plot-statement中的颜色,而不是更改后的颜色。
from matplotlib import pyplot as plt
x = [1,2,3,4]
y = [1,2,3,4]
marked = 0
bars = plt.bar(x, y, color='k',label='label')
bars[marked].set_facecolor
我制作了一个脚本,它使用matplotlib的FuncAnimation函数来绘制一系列抛物面函数的等高线图。我想添加一个在整个动画中范围不会变化的颜色条。我真的不知道该如何做。脚本如下所示:
import numpy as np
import itertools
import matplotlib.pyplot as plt
import matplotlib.mlab as ml
import matplotlib.animation as animation
#Generate some lists
def f(x,y,a):
return a*(x**2+y**2)
av
我在matplotlib图片库上注意到,所有以垂直色条为特征的情节都有向内的刻痕,
(即从条形图的边缘到条形图的彩色区域)。
对于我正在使用的地块和色秤的类型,最好是把刻痕朝外。
如何从matplotlib图库(见下文)修改这个简单的示例,使其颜色条上有向外的滴答标记?
from matplotlib.colors import LogNorm
from pylab import *
#normal distribution center at x=0 and y=5
x = randn(100000)
y = randn(100000)+5
hist2d(x, y, bins=40, n
我试图覆盖两组纬度和经度图,以便第一组有一种颜色的点,第二组点在同一张地图上有不同的颜色。我试图共享相同的轴(ax),但它一直绘制在两个地图中的点,而不是一个单一的地图与两个集合或颜色的点。我的代码如下所示:
from sys import exit
from shapely.geometry import Point
import geopandas as gpd
from geopandas import GeoDataFrame as gdf
from shapely.geometry import Point, LineString
import pandas as pd
import
我假设我有一个非常简单的问题,这个问题在过去的一个小时里一直让我发疯。因此,我正在尝试生成具有以下轴长x=37,y=614的等高线图。我可以生成一个轮廓图,没有问题,但是当我添加一个颜色条时,图像的大小就会调整到我假设的颜色条的大小。
没有颜色条的图像:
带有颜色条的图像:
这个图形被调整了大小,我不知道为什么。我如何绘制一个像我的第一个图形一样的图形,但使用第二个图形的配色方案和颜色条?
代码:
import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as m
我想在matplotlib imshow子图旁边显示一个表示图像原始值的色条,该子图显示了该图像的归一化。
我已经能够像这样成功地绘制图像和颜色条,但是颜色条的最小和最大值表示标准化的(0,1)图像,而不是原始的(0,99)图像。
f = plt.figure()
# create toy image
im = np.ones((100,100))
for x in range(100):
im[x] = x
# create imshow subplot
ax = f.add_subplot(111)
result = ax.imshow(im / im.max())
# Crea
我有一些想要绘制的时间序列数据,并且我想使用颜色缩放来表示数据点的年龄。我可以成功地让颜色条工作起来:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.dates import date2num
x = np.random.randint(low=0, high=10, size=10)
y = np.random.randint(low=0, high=10, size=10)
dates = pd.date_range("2000-01-01",
我有一个多年的月度数据集,用于某一高度的水汽值。不同的时间步长具有不同的最小值和最大值。我正在尝试使用FuncAnimation创建动画。到目前为止,我已经能够正确地绘制contourf图。然而,我在色条上做了一些错误的事情。它只绘制了开始日期的颜色条(可能是因为我在动画函数循环之外设置了plt.colorbar ),但是,第一个时间步的颜色条范围并不包含其他时间步的所有数据范围。我正在尝试绘制一个颜色条,它包含整个数据集中的所有值,并且可以用来读取动画中的所有帧。另一种选择是为每个时间步创建一个新的colorbar,同时始终保持相同的colorbar范围(这也是我需要帮助的)。
from n
我正在尝试做一个很好的自由能表面(热图),使用海运的kdeplot。我离得很近,但想不出一种办法来改变颜色栏的比例。色棒标度很重要,因为它应该表示地图上不同坐标下的能量差异。我需要知道如何通过-(0.5961573)*log(x)缩放颜色条的值,其中x是颜色条的值。然后,我可能还需要从那里对颜色条进行规范化,以便最大值为0。
以下是我目前的情况:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import seaborn as