python颜色形状识别_Python自定义颜色形状Fi
我在加拿大7個省之間打開了一個csv文件。我將把這個數字作為一個新列添加到shapefile中。我想知道如何根據我下面的十六進制代碼的顏色列表來分配顏色。在
下面的代碼可以工作,但是輸出的顏色是程序默認選擇的,但是我想根據顏色列表中的索引位置分配特定的顏色,該位置也存在于csv中,并作為列添加到shapefile中。在
我嘗試使用LinearSegmentedColormap,但無法使其工作。任何幫助都將不勝感激。在import geopandas as gpd
import matplotlib.pyplot as plt
import numpy as np
import csv
with open('canadadata.csv', 'r') as f:
reader = csv.reader(f, delimiter=",")
header = next(reader)
# Store states in dictionary keys, and price as values
forsaledata = {}
for row in reader:
k = int(row[3])
v = int(row[2])
forsaledata[k] = v
# open shapefile
canada = gpd.GeoDataFrame.from_file('lpr_000b16a_e.shp')
# create new column with shapefile data
canada['color'] = np.zeros(len(canada))
# assign colors to each province in the new column
canada.ix[0, 'color'] = int(forsaledata.get(0,8))
canada.ix[1, 'color'] = int(forsaledata.get(1,8))
canada.ix[2, 'color'] = int(forsaledata.get(2,8))
canada.ix[3, 'color'] = int(forsaledata.get(3,8))
canada.ix[4, 'color'] = int(forsaledata.get(4,8))
canada.ix[5, 'color'] = int(forsaledata.get(5,8))
canada.ix[6, 'color'] = int(forsaledata.get(6,8))
canada.ix[7, 'color'] = int(forsaledata.get(7,8))
canada.ix[8, 'color'] = int(forsaledata.get(8,8))
canada.ix[9, 'color'] = int(forsaledata.get(9,8))
canada.ix[10, 'color'] = int(forsaledata.get(10,8))
canada.ix[11, 'color'] = int(forsaledata.get(11,8))
canada.ix[12, 'color'] = int(forsaledata.get(12,8))
# establish colors, 9th color/index 8 is white
colors = ["#f7fbff", "#deebf7", "#c6dbef", "#9ecae1", "#6baed6", "#4292c6", "#2171b5", "#084594", "#ffffff"]
canada.plot(column='color')
plt.show()
總結
以上是生活随笔為你收集整理的python颜色形状识别_Python自定义颜色形状Fi的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python从零基础到项目实战 当当_P
- 下一篇: 无忧一生重大疾病保险条款