def test_arrow_area_chart(self): """Test st._arrow_area_chart.""" df = pd.DataFrame([[20, 30, 50]], columns=["a", "b", "c"]) EXPECTED_DATAFRAME = pd.DataFrame( [[0, "a", 20], [0, "b", 30], [0, "c", 50]], index=[0, 1, 2], columns=["index", "variable", "value"], ) st._arrow_area_chart(df) proto = self.get_delta_from_queue().new_element.arrow_vega_lite_chart chart_spec = json.loads(proto.spec) self.assertEqual(chart_spec["mark"], "area") pd.testing.assert_frame_equal( bytes_to_data_frame(proto.datasets[0].data.data), EXPECTED_DATAFRAME, )
def test_st_arrow_area_chart(self): """Test st._arrow_area_chart.""" from streamlit.type_util import bytes_to_data_frame df = pd.DataFrame([[10, 20, 30]], columns=["a", "b", "c"]) EXPECTED_DATAFRAME = pd.DataFrame( [[0, "a", 10], [0, "b", 20], [0, "c", 30]], index=[0, 1, 2], columns=["index", "variable", "value"], ) st._arrow_area_chart(df, width=640, height=480) proto = self.get_delta_from_queue().new_element.arrow_vega_lite_chart chart_spec = json.loads(proto.spec) self.assertEqual(chart_spec["mark"], "area") self.assertEqual(chart_spec["width"], 640) self.assertEqual(chart_spec["height"], 480) pd.testing.assert_frame_equal( bytes_to_data_frame(proto.datasets[0].data.data), EXPECTED_DATAFRAME, )
def _get_deltas_that_melt_dataframes(self): return [ lambda df: st._arrow_line_chart(df), lambda df: st._arrow_bar_chart(df), lambda df: st._arrow_area_chart(df), ]
spec = { "mark": "line", "encoding": { "x": {"field": "a", "type": "quantitative"}, "y": {"field": "b", "type": "quantitative"}, }, } # 5 empty charts st._arrow_vega_lite_chart(spec, use_container_width=True) fig, ax = plt.subplots() st.pyplot(fig, use_container_width=True) st._arrow_line_chart() st._arrow_bar_chart() st._arrow_area_chart() # 1 empty map # comment this one out to avoid this Cypress-Mapbox related error. # ref: https://github.com/cypress-io/cypress/issues/4322 # st.pydeck_chart() # st.map() # 6 errors try: st._arrow_vega_lite_chart({}, use_container_width=True) except Exception as e: st.write(e) try: st._arrow_vega_lite_chart(data, {}, use_container_width=True)
# Copyright 2018-2021 Streamlit Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import streamlit as st import numpy as np import pandas as pd data = np.random.randn(20, 3) df = pd.DataFrame(data, columns=["a", "b", "c"]) st._arrow_area_chart(df)