Я использую matplotlib для создания визуализации таблицы. Я хотел бы нарисовать мини-гистограмму внутри последней ячейки каждой строки таблицы. Мини-столбчатая диаграмма должна иметь два разных цвета, обозначающих разные проценты (на данный момент 50 % зеленый и 50 % красный, мы разберемся с этим позже). Я хотел бы также показать процент красной части внутри части с белым текстом.
Вот код Python для создания воспроизводимого примера того, что я уже сделал:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# Create a sample DataFrame
df = pd.DataFrame({
'A': np.random.randint(1, 10, 10),
'B': np.random.randint(1, 10, 10),
'C': np.random.randint(1, 10, 10),
'D': np.random.randint(1, 10, 10),
'BAR': np.random.randint(1, 10, 10),
})
# Function to draw mini-bar
def draw_mini_bar(ax, x, y, width, height, percentage):
ax.add_patch(plt.Rectangle((x, y), width, height, facecolor='#76ed33'))
ax.add_patch(plt.Rectangle((x, y), width * percentage / 100, height, facecolor='#f55d2f'))
plt.draw()
# Function to render table
def render_mpl_table(data, col_width=3.0, row_height=0.625, font_size=14,
header_color='#40466e', row_colors=['#f1f1f2', '#ffffff'], edge_color='w',
bbox=[0, 0, 1, 1], ax=None, **kwargs):
if ax is None:
size = (np.array(data.shape[::-1]) + np.array([0, 1])) * np.array([col_width, row_height])
fig, ax = plt.subplots(figsize=size)
ax.axis('off')
mpl_table = ax.table(cellText=data.values, bbox=bbox, colLabels=data.columns, **kwargs)
for k, cell in mpl_table._cells.items():
cell.set_edgecolor(edge_color)
if k[0] == 0:
cell.set_text_props(weight='bold', color='w')
cell.set_facecolor(header_color)
else:
cell.set_facecolor(row_colors[k[0]%len(row_colors)])
# DRAW BARS IN LAST COLUMN
if k[0] > 0 and k[1] == len(data.columns) - 1:
draw_mini_bar(ax, cell.get_x(), cell.get_y(), cell.get_width(), cell.get_height(), 50)
plt.show()
render_mpl_table(df)
Когда я запускаю этот код, мини-гистограммы отображаются не так, как ожидалось. В частности, они либо появляются в неправильных позициях, либо цвета отображаются неправильно.
Кто-нибудь сталкивался с подобной проблемой или знает, как рисовать такие мини-гистограммы внутри ячейки таблицы matplotlib?
Я попробовал использовать метод add_patch() для рисования прямоугольников внутри ячеек таблицы. Моя цель состояла в том, чтобы создать мини-гистограммы в последней ячейке каждой строки. Я ожидал, что полоса будет полностью зеленой, а часть ее будет перекрыта красным цветом, обозначающим разные проценты (сейчас мне просто нужно установить 50% зеленого и 50% красного).
Однако результат оказался не таким, как ожидалось. Полосы либо отображались в неправильном положении, либо цвета отображались неправильно. Кажется, мне не удается правильно отобразить красный и зеленый разделы в ячейках таблицы.
Я использую matplotlib для создания визуализации таблицы. Я хотел бы нарисовать мини-гистограмму внутри последней ячейки каждой строки таблицы. Мини-столбчатая диаграмма должна иметь два разных цвета, обозначающих разные проценты (на данный момент 50 % зеленый и 50 % красный, мы разберемся с этим позже). Я хотел бы также показать процент красной части внутри части с белым текстом. Вот код Python для создания воспроизводимого примера того, что я уже сделал: [code]import matplotlib.pyplot as plt import pandas as pd import numpy as np
Когда я запускаю этот код, мини-гистограммы отображаются не так, как ожидалось. В частности, они либо появляются в неправильных позициях, либо цвета отображаются неправильно. Кто-нибудь сталкивался с подобной проблемой или знает, как рисовать такие мини-гистограммы внутри ячейки таблицы matplotlib? Я попробовал использовать метод add_patch() для рисования прямоугольников внутри ячеек таблицы. Моя цель состояла в том, чтобы создать мини-гистограммы в последней ячейке каждой строки. Я ожидал, что полоса будет полностью зеленой, а часть ее будет перекрыта красным цветом, обозначающим разные проценты (сейчас мне просто нужно установить 50% зеленого и 50% красного). Однако результат оказался не таким, как ожидалось. Полосы либо отображались в неправильном положении, либо цвета отображались неправильно. Кажется, мне не удается правильно отобразить красный и зеленый разделы в ячейках таблицы.
Я использую matplotlib для создания визуализации таблицы. Я хотел бы нарисовать мини-гистограмму внутри последней ячейки каждой строки таблицы. Мини-столбчатая диаграмма должна иметь два разных цвета, обозначающих разные проценты (на данный момент...
У меня есть класс DrawingView, в котором есть метод onTouchEvent(событие MotionEvent), который реагирует на события касания. В этом методе я разрешаю пользователю рисовать в свободном режиме, пользователь просто касается экрана и свободно рисует.
Но...
У меня есть массив, который я хотел бы сортировать, это должно быть легко, за исключением того, что я строю свой массив странными манерами (по разным причинам), которые затрудняют сортировку. Вот мой массив:
$arrayCEO =array(
'companyName' =>...
У меня есть массив с в основном неизвестными ключами первого уровня. Я хотел бы сортировать все строки синхронно, чтобы при сортировке Sortby все остальные строки будут расположены для поддержания столбчатых отношений.
[
'sortBy' => ,
'other' => ,...
I have a table with two divs inside a cell. I want the first div aligned to the top of the cell, and the last div aligned to the bottom. This is an example of what the table might look like:
This content should be at top of the cell, but not...