1. 程式人生 > 實用技巧 >MYSQL中的COLLATE是什麼?

MYSQL中的COLLATE是什麼?

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

作者:劉早起

開始使用

基本套路就是先建立一個你需要的空圖層,然後使用.set_global_opts修改全域性項再用.set_series_opts修改具體的相關配置就可以。當然最好的學習地址一定是官方檔案,但是裡面介紹的太過複雜了,這裡僅以快速上手使用為目標進行幾個例子來說明套路。

地圖

pyecharts比較好的就是繪製地圖,這裡以2019-nCov專案中安徽省地圖繪製為例。

首先匯入需要的包

from pyecharts.charts import Pie ,Grid,Bar,Line
from pyecharts.faker import Faker #資料包from pyecharts.charts import Map,Geo
from pyecharts import options as opts
from pyecharts.globals import ThemeType

OK,我現在有一個省份的一組資料,大概長這樣

locate =['合肥市', '阜陽市', '亳州市', '安慶市', '馬鞍山市', '銅陵市', '六安市', '滁州市', '池州市','蚌埠市','蕪湖市','宿州市','宣城市','淮北市','淮南市','黃山市']`
data =['','','','','','','','','','','','','','','','']

這也是接觸到的需要繪製地圖的資料格式,兩個list,一個是地名,一個是每個城市對應的資料,現在執行以下程式碼就可以得到安徽省的疫情地圖。

list1 = [[locate[i],data[i]] for i in range(len(locate))] #首先建立資料
map_1 = Map(init_opts=opts.InitOpts(width="400px", height="460px")) #建立地圖,其中括號內可以調整大小,也可以修改主題顏色。
map_1.add("安徽疫情", list1, maptype="安徽") #新增安徽地圖
map_1.set_global_opts( #設定全域性配置項#title_opts=opts.TitleOpts(title="安徽疫情"), 新增標題
visualmap_opts=opts.VisualMapOpts(max_=120, is_piecewise=True),#最大資料範圍 並且使用分段
legend_opts=opts.LegendOpts(is_show=False), #是否顯示圖例
)
map_1.render_notebook() #直接在notebook中顯示# map_1.render('map1.html') 將地圖以html形式儲存在工作目錄下

當然地圖還有很多可以自定義的配置項,選擇需要的配置項新增到對應的函式中即可。

# 資料項 (座標點名稱,座標點值)
data_pair: Sequence, # 地圖型別,具體參考 pyecharts.datasets.map_filenames.json 檔案
maptype: str = "china", # 是否選中圖例
is_selected: bool = True, # 是否開啟滑鼠縮放和平移漫遊。
is_roam: bool = True, # 當前視角的中心點,用經緯度表示
center: Optional[Sequence] = None, # 當前視角的縮放比例。
zoom: Optional[Numeric] = 1, # 自定義地區的名稱對映
name_map: Optional[dict] = None, # 標記圖形形狀
symbol: Optional[str] = None, # 是否顯示標記圖形
is_map_symbol_show: bool = True, # 標籤配置項,參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), # 提示框元件配置項,參考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None, # 圖元樣式配置項,參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None, # 高亮標籤配置項,參考 `series_options.LabelOpts`
emphasis_label_opts: Union[opts.LabelOpts, dict, None] = None, # 高亮圖元樣式配置項,參考 `series_options.ItemStyleOpts`
emphasis_itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

餅圖

繼續使用地圖裡的資料繪製餅圖,現在想看安徽各地區疫情分佈比,就可以考慮使用餅圖(玫瑰圖)。詳細程式碼

map_2 = (
Pie(init_opts=opts.InitOpts(width="600px", height="500px")) 建立一個餅圖
.add(
"", #圖名
[[locate[i],data[i]] for i in range(len(locate))], #新增資料
radius=["40%", "75%"], # 調整半徑
)
.set_global_opts(
legend_opts=opts.LegendOpts(
orient="vertical", pos_top="10%", pos_left="88%"#圖例設定
),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) #設定標籤
)
map_2.render_notebook() #直接在notebook中顯示#map_2.render('map2.html') #儲存到本地柱狀圖

demo

c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values()) #資料配置
.add_yaxis("商家B", Faker.values()) #資料配置
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題")) #全域性配置標題
)
c.render_notebook()通過新增配置項可以調整標題、圖例、粗細、位置、背景圖等等

# 系列資料
yaxis_data: Sequence[Numeric, opts.BarItem, dict], # 是否選中圖例
is_selected: bool = True, # 使用的 x 軸的 index,在單個圖表例項中存在多個 x 軸的時候有用。
xaxis_index: Optional[Numeric] = None, # 使用的 y 軸的 index,在單個圖表例項中存在多個 y 軸的時候有用。
yaxis_index: Optional[Numeric] = None, # 系列 label 顏色
color: Optional[str] = None, # 資料堆疊,同個類目軸上系列配置相同的 stack 值可以堆疊放置。
stack: Optional[str] = None, # 同一系列的柱間距離,預設為類目間距的 20%,可設固定值
category_gap: Union[Numeric, str] = "20%", # 不同系列的柱間距離,為百分比(如 '30%',表示柱子寬度的 30%)。# 如果想要兩個系列的柱子重疊,可以設定 gap 為 '-100%'。這在用柱子做背景的時候有用。
gap: Optional[str] = None, # 標籤配置項,參考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), # 標記點配置項,參考 `series_options.MarkPointOpts`
markpoint_opts: Union[opts.MarkPointOpts, dict, None] = None, # 標記線配置項,參考 `series_options.MarkLineOpts`
markline_opts: Union[opts.MarkLineOpts, dict, None] = None, # 提示框元件配置項,參考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None, # 圖元樣式配置項,參考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

同一圖層繪製多圖

如果想要同時疊加繪製圖形可以採用參考以下方法

def two_pic() -> Bar:
x = Faker.choose() #選擇資料
bar = ( #先繪製bar
Bar()
.add_xaxis(x)
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Overlap-line+scatter"))
)
line = ( #再新增line
Line()
.add_xaxis(x)
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
)
bar.overlap(line)
return bar
two_pic().render_notebook()總結

使用新版pyecharts並不難,基本套路都和上面一樣,只要先學會畫圖套路,再多讀官方檔案就可以。