python - Matplotlib 用下标和格式注释
问题描述
我正在尝试将带有下标的注释添加到我的散点图中。问题是格式似乎不适用于两位数的整数。注解只将第一个符号变成下标,如下图所示。有谁知道如何解决这一问题?
import numpy as np
import matplotlib.pyplot as plt
import numpy.random as rnd
rnd.seed(1234)
#Generate data
n = 12 #Number of vehicles
N = [i for i in range(1,n+1)] #Set of vehicles
V = [0] + N #Set of all nodes
q = {i: rnd.randint(1,10) for i in N} #Number of goods to be transported to each customer
#Generate coordinates
loc_x = rnd.rand(len(V))*300
loc_y = rnd.rand(len(V))*500
plt.scatter(loc_x[1:], loc_y[1:], c='b')
for i in N:
plt.annotate('$q_{}={}$'.format(i, q[i]),(loc_x[i]+2, loc_y[i]))
解决方案
以下将解决您的问题。
本质上,当您的下标长于单个字符时,您需要在下标周围添加花括号。但是,因为花括号也与格式方法有关,所以额外的花括号必须被更多的花括号转义才能按照我们的意愿进行解释。
plt.scatter(loc_x[1:], loc_y[1:], c='b')
for i in N:
plt.annotate('$q_{{{}}}={}$'.format(i, q[i]),(loc_x[i]+2, loc_y[i]))
推荐阅读
- arrays - Ruby:如何在两个数组中找到相似度
- c++ - 创建和返回锯齿状数组时出现问题(错误 std::bad_array_new_length)
- azure-cosmosdb - CosmosDB 中的许多小文档
- c# - 如何清除所有用户控件中的所有文本框和组合框?
- python - 虚拟环境与基础环境共存
- graphql - Wordpress Gatsby - 我如何在 graphql 或其他方式中访问 ACF 关系内容
- javascript - 使用复选框隐藏和显示“其他”选项
- node.js - 使用 node.js 清理来自标准输入的流
- flutter - 图标不使用自定义图标呈现
- r - 需要使用 data.frame 中的两列数据制作条形图